\chapter{Interpolaci\'on}

Se tiene un conjunto de puntos $(x_i, f(x_i))$ que provienen de una 
funci\'on (posiblemente desconocida) $f$. 
Puede ser deseable estimar el valor de la funci\'on en alg\'un punto 
para el cual no tenemos datos.
Puede ocurrir tambi\'en que la funci\'on $f$ sea demasiado complicada 
para tratar directamente y sea conveniente simplificarla 
tomando s\'olo la informaci\'on contenida en algunos puntos.
Estos objetivos pueden lograrse mediante funciones interpoladoras.

Es \'util interpolar mediante polinomios porque son una clase de 
funciones muy conocida, cuyas derivadas e integrales son simples de 
calcular y resultan ser tambi\'en polinomios. \\
Los polinomios de Taylor concentran su exactitud alrededor del punto 
sobre el cual est\'an centrados, pero a medida que se alejan 
dejan de ser una buena aproximaci\'on, por lo que en general no sirven 
para intervalos medianamente grandes.

\section{Polinomio Interpolador de Lagrange}

Dados $n+1$ puntos de la forma $(x_i, f(x_i))$ se desea obtener el 
polinomio de menor grado que pasa por todos ellos (los interpola).
Se define entonces el cociente $L_{n,k}(x)$ con la propiedad de que 
$L_{n,k}(x_{i}) = 0$ cuando $i\neq k$ y $L_{n,k}(x_k) = 1$. 
%~ Un polinomio que cumple lo pedido es:
%~ Queda entonces definido el polinomio interpolador de Lagrange como:
\begin{figure}[H] \centering
	\subfloat
	{
		$ L_{n,k}(x) =
		\displaystyle
		\frac{(x-x_{0})\cdots(x-x_{k-1})
		(x-x_{k+1})\cdots(x-x_{n})}
		{(x_{k}-x_{0})\cdots(x_{k}-x_{k-1})
		(x_{k}-x_{k+1})\cdots(x_{k}-x_{n})} = 
		\prod_{\stackrel{i=0}{i\neq k}}^{n}
		\frac{(x-x_{i})}{(x_{k}-x_{i})}$	
	}
	%~ \subfloat{\includegraphics[scale=.20]{images/burdenlnk.png}}
	%~ \caption{Polinomio $L_{n,k}(x)$, definici\'on 
	%~ e interpretaci\'on gr\'afica.}	
\end{figure}

\begin{theorem}
	Dados $n+1$ puntos de la forma $(x_i, f(x_i))$ con $x_i \neq x_j 
	\; \forall \; i \neq j$ entonces $\exists ! P$ polinomio de grado 
	(a lo sumo) $n$ tal que $f(x_{i})=P(x_{i}) \; \forall \; i$. 
	Este polinomio, denominado polinomio interpolador de Lagrange 
	est\'a dado por: 
	$ \displaystyle P(x) = \sum_{k=0}^{n}f(x_i)L_{n,k}(x).$
\end{theorem}

\begin{theorem}
	Dados $n+1$ puntos de la forma $(x_i, f(x_i))$ con 
	$x_i \in [a,b]$, $f \in C^{n+1}[a,b]$ entonces \\
	$\forall \; x \in [a,b], \exists \; \xi \in [a,b]$, 
	que depende de 	$x$, tal que: $ \displaystyle f(x) = P(x) + 
	\frac{f^{(n+1)}(\xi(x))}{(n+1)!}\prod_{i=0}^n(x - x_i).$
\end{theorem}

\newpage
\subsection{Forma de Neville}
El uso de los polinomios de Lagrange plantea dos problemas inmediatos: 
el t\'ermino del error es dif\'icil de estimar, y teniendo una 
aproximaci\'on de grado $n$, no hay forma de aprovechar los c\'alculos 
realizados para construir un polinomio de grado $n+1$.\\
Ya que el polinomio interpolador de Lagrange es \'unico, se puede 
encontrar otra forma de construirlo que permita la incorporaci\'on de 
puntos de una manera m\'as simple.

\paragraph{}
La idea es generar polinomios interpolantes en forma recursiva, 
empezando por los de grado 0 que interpolan a $(x_i,f(x_i))$ para 
cada $i$, es decir $P_i(x)=f(x_i)$. La segunda iteraci\'on combina 
$P_i$ con $P_{i+1}$, obteniendo $P_{0,1}, P_{1,2},\ldots$, luego se 
une $P_{i,i+1}$ con $P_{i+1,i+2}$, y as\'i sucesivamente hasta 
obtener $P_{0,n}$, que es el interpolador deseado. 
En general si $m > i$, $ \displaystyle P_{i,m}(x) = \displaystyle 
\frac{(x_i-x) P_{i+1,m}(x) + (x-x_m) P_{i,m-1}(x)}{x_i-x_m}. $

\subsection{Forma de Newton}
\begin{definition}
	La diferencia dividida cero de $f$ respecto a $x_{i}$ se define 
	como $\displaystyle f[x_{i}]= f(x_{i})$ y la k-\'esima diferencia 
	dividida relativa a $x_{i}, x_{i+1},\dots,x_{i+k}$ est\'a dada por 
	$$\displaystyle f[x_{i},x_{i+1},\dots,x_{i+k}] = \displaystyle 
	\frac{f[x_{i+1},x_{i+2},\dots,x_{i+k}] - 
	f[x_{i},x_{i+1},\dots,x_{i+k-1}]}{x_{i+k}-x_{i}}.$$
\end{definition}

\begin{theorem}
	El polinomio interpolador $P_{n}(x)$ puede expresarse como \\
	$\displaystyle P_{n}(x) = a_{0} + a_{1}(x-x_{0}) + 
	a_{2}(x-x_{0})(x-x_{1}) + \dots + 
	a_{n}(x-x_{0})(x-x_{1})\cdots(x-x_{n-1})$ 
	donde $a_{k} = f[x_{0},\dots,x_{k}]$.
\end{theorem}

Usando esta definici\'on puede construirse el polinomio interpolador de 
una serie de puntos de forma incremental, de manera tal que para 
agregar un punto m\'as al polinomio se puede aprovechar lo ya calculado.

%~ \begin{figure}[H] \centering
	%~ \subfloat{\includegraphics[scale=.30]{images/difdiv.png}}
	%~ \caption{Diferencias divididas.}
%~ \end{figure}

\section{Interpolaci\'on por Splines}

Una gran desventaja de utilizar polinomios como interpoladores, es que 
a mayor grado, mayor oscilaci\'on. 
Un procedimiento alternativo consiste en dividir el intervalo en serie 
de subintervalos, y en cada subintervalo construir un polinomio 
distinto de aproximaci\'on, bas\'andose en la idea de que si cada 
intervalo usa un polinomio de grado pequeño, se obtendr\'a un resultado 
mucho mejor que con Lagrange.

\paragraph{}
La aproximaci\'on polin\'omica fragmentaria m\'as simple consiste en 
unir una serie de puntos mediante segmentos de rectas. 
Esta forma tiene una desventaja, que es que la diferenciabilidad en 
los extremos de los subintervalos no est\'a asegurada, haciendo que 
la funci\'on interpoladora no sea suave en esos puntos.

\paragraph{}
Otra forma es utilizar polinomios cuadr\'aticos en cada subintervalo. 
Esto se hace construyendo una cuadr\'atica en $[x_{0},x_{1}]$ que 
concuerde con la funci\'on en $x_{0}$ y en $x_{1}$, otra cuadr\'atica 
en $[x_{1},x_{2}]$ que concuerde con la funci\'on en $x_{1}$ y en 
$x_{2}$ y as\'i sucesivamente.
Un polinomio cuadr\'atico general tiene tres par\'ametros, y 
\'unicamente se requieren dos condiciones para ajustar los datos en los 
extremos de cada intervalo, por ello existe una flexibilidad que 
permite seleccionar la cuadr\'atica de modo que la interpolante tenga
una derivada continua en $[x_{0},x_{n}]$. 
El problema se presenta al especificar las condiciones referentes a la 
derivada de la interpolante en los extremos $x_{0}$ y $x_{n}$: 
no hay constantes suficientes para asegurarse el cumplimiento de 
las condiciones.

\paragraph{}
La forma m\'as com\'un de aproximaci\'on polin\'omica fragmentaria es 
utilizando polinomios de grado tres entre cada par consecutivo de 
puntos, recibe el nombre de interpolaci\'on por trazadores (splines) 
c\'ubicos. 
Un polinomio c\'ubico general contiene cuatro par\'ametros, ofreciendo 
suficiente flexibilidad para garantizar que el interpolante no s\'olo
sea continuamente diferenciable en el intervalo, sino que adem\'as 
tenga una segunda derivada continua en el intervalo.
De todas formas, no se espera que las derivadas segundas coincidan 
con las de la funci\'on (ni siquiera en los puntos).

\newpage
\begin{definition}
	Dada una funci\'on $f$ definida en $[a,b]$ y un conjunto de $n+1$ 
	puntos de la forma $(x_i, f(x_i))$, donde $x_0 = a$ y $x_n = b$
	un spline c\'ubico $S$ para $f$ es una funci\'on que cumple las 
	siguientes condiciones:
	
	\begin{enumerate}
		\renewcommand{\labelenumi}{\alph{enumi}.}
		\setlength{\itemsep}{0pt}
		\item $S(x)$ es un polinomio c\'ubico denotado $S_{j}(x)$ en el 
				subintervalo $[x_{j},x_{j+1}]$ 
				para $j$ de $0$ a $n-1$
		\item $S(x_{j})=f(x_{j})$ 
				para $j$ de $0$ a $n$
		\item $S_{j+1}(x_{j+1})=S_{j}(x_{j+1})$ 
				para $j$ de $0$ a $n-2$
		\item $S'_{j+1}(x_{j+1})=S'_{j}(x_{j+1})$ 
				para $j$ de $0$ a $n-2$
		\item $S{''}_{j+1}(x_{j+1})=S''_{j}(x_{j+1})$ 
				para $j$ de $0$ a $n-2$
		%~ \newpage
		\item{Se satisface una de las siguientes condiciones 
				de frontera:
				\begin{itemize}
					\setlength{\itemsep}{0pt}
					\item $S''(x_{0})=S''(x_{n})=0$ (spline libre 
						 o \textbf{natural})
					\item $S'(x_{0})=f'(x_{0}) \textrm{\ y\ } 
						 S'(x_{n})=f'(x_{n}) $ (spline \textbf{sujeto})
				\end{itemize} 
			 }
	\end{enumerate}
	
\end{definition}

Generalmente en las condiciones de frontera sujeta se logran 
aproximaciones m\'as exactas, ya que usan m\'as informaci\'on acerca de 
la funci\'on, pero demanda el conocimiento de los valores de la 
derivada en los extremos. 
Existen tambi\'en otras condiciones de frontera posibles adem\'as 
de la natural o la sujeta.

\paragraph{}
Para interpolar un conjunto de puntos $x_{0},\dots,x_{n}$, el planteo 
de las todas las condiciones mencionadas para $S(x)$ se puede llevar 
a la forma de un sistema de ecuaciones tridiagonal que queda en 
funci\'on de uno de los cuatro coeficientes de cada spline, y resulta 
estrictamente diagonal dominante, por lo que tiene soluci\'on 
\'unica; puede almacenarse usando poco espacio y resolverse de forma 
relativamente r\'apida.
